Segment Maps
The plugin currently supports US maps. Segement maps take as input 4 columns: start latitude , start longitude, end latitude, and end longitude of the segment. The model and data styles for the subsequent examples are:
--! {"isModel": true, "modelPath": "/inline/e.malloy"} explore: airports is table('malloy-data.faa.airports') { primary_key: code dimension: name is concat(code, ' - ', full_name) measure: airport_count is count() } explore: flights is table('malloy-data.faa.flights') { primary_key: id2 rename: origin_code is origin rename: destination_code is destination join: origin is airports on origin_code join: destination is airports on destination_code measure: flight_count is count() query: routes_map is { group_by: [ origin.latitude origin.longitude latitude2 is destination.latitude longitude2 is destination.longitude ] aggregate: flight_count } }
and data styles are
{ "routes_map": { "renderer": "segment_map" } }
Run as a simple query
Departing from Chicago
--! {"isRunnable": true, "runMode": "auto", "source": "/inline/e.malloy", "size": "medium", "dataStyles":{"routes_map": {"renderer": "segment_map"}}} -- Bug: as a main query we only return 50 results, nested we get the whole thing... -- query: flights{ where: dep_time = @2003-02 and origin.code ='ORD'}->routes_map query: flights{ where: dep_time = @2003-02 and origin.code ='ORD'}->{nest:routes_map}
| routes_map |
|---|
Run as a trellis
By calling the configured map as a nested query, a trellis is formed.
--! {"isRunnable": true, "runMode": "auto", "source": "/inline/e.malloy", "size": "medium", "dataStyles":{"routes_map": {"renderer": "segment_map"}}} query: flights{ where: dep_time = @2003-02 and origin.code ='ORD'}->{ group_by: carrier aggregate: flight_count nest:routes_map }
| carrier | flight_count | routes_map |
|---|---|---|
| UA | 9,443 | |
| AA | 7,255 | |
| MQ | 4,975 | |
| DH | 3,906 | |
| NW | 702 |
Run as a trellis, repeated with different filters
--! {"isRunnable": true, "runMode": "auto", "size": "large", "source": "faa/flights.malloy"} --! {"isRunnable": true, "runMode": "auto", "source": "/inline/e.malloy", "size": "medium", "dataStyles":{"routes_map": {"renderer": "segment_map"}}} query: flights->{ group_by: carrier aggregate: flight_count nest: [ ord_segment_map is routes_map {where: origin.code: 'ORD'} sfo_segment_map is routes_map {where: origin.code: 'SFO'} jfk_segment_map is routes_map {where: origin.code: 'JFK'} ] }
| carrier | flight_count | ord_segment_map | sfo_segment_map | jfk_segment_map |
|---|---|---|---|---|
| WN | 5,775,777 | |||
| DL | 4,477,929 | |||
| AA | 4,434,727 | |||
| UA | 3,654,646 | |||
| US | 3,205,810 |
Malloy